const HISTORYKEY = 'history_key';
// [],''
const list = wx.getStorageSync(HISTORYKEY)

Page({

  /**
   * 页面的初始数据
   */
  data: {
    recentSearches: list || ['手机', '电脑', '运动鞋'],
    hotSearches: ['智能手表', '无线耳机', '平板电脑'],
    // 搜索的内容
    query: '',
    // 状态
    // false 显示删除文本，没有 x
    // true 显示 全部删除/完成，有 x
    deleteStatus: false
  },
  removeItem(e) {
    // console.log(e.target.dataset.index);
    const {
      recentSearches
    } = this.data
    recentSearches.splice(e.target.dataset.index, 1)
    this.setData({
      recentSearches
    })
    wx.setStorageSync(HISTORYKEY, this.data.recentSearches)
  },
  // 全部删除
  clear() {
    this.setData({
      recentSearches: []
    })
    wx.setStorageSync(HISTORYKEY, this.data.recentSearches)
  },
  // 显示删除
  showDelete() {
    this.setData({
      deleteStatus: true
    })
  },
  hideDelete() {
    this.setData({
      deleteStatus: false
    })
  },
  // 隐藏删除
  search() {
    // 非空
    const {
      query,
      recentSearches
    } = this.data
    if (query === '') {
      return
    }

    // 重复判断（indexOf 判断--》>=0存在--》删除之前的，添加之后）
    const index = recentSearches.indexOf(query)
    if (index >= 0) {
      // 删掉
      recentSearches.splice(index, 1);
    }
    // 添加(先添加，在判断长度保证逻辑)
    recentSearches.push(query)

    // 长度判断（长度大于 5--》shift）
    if (recentSearches.length > 5) {
      recentSearches.shift()
    }

    this.setData({
      recentSearches,
      query: ''
    })
    wx.setStorageSync(HISTORYKEY, this.data.recentSearches)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})